{{tag>dapper edgy feisty gutsy audio}}

----

====== TiMiDiTy ======

**Timidity** est un synthétiseur logiciel pour la prise en charge du MIDI.

La commande ''man timidity'' offre une bonne documentation ; le programme y est ainsi décrit :
//TiMidity++ convertit des fichiers MIDI en Wave et joue ces derniers. Les formats MIDI supportés sont : fichiers au Standard MIDI (*.mid), fichier Recomposer (*.rcp, *.r36) et les fichiers Module (*.mod). Les fichiers obtenus après conversion sont formatés, par exemple en RIFF WAVE. TiMidity++ utilise des patches compatibles Gravis Ultrasound ou des Soundfonts (*.sfx, *.sf2) pour générer les données audio digitales à partir des fichiers MIDI. Les données générées par TiMidity++ peuvent être stockées dans un fichier en vue d'un traitement ultérieur, ou jouées en temps réel dans un lecteur audio. Lors d'une lecture en temps réel, TiMitidy++ peut afficher les paroles éventuellement stockées dans les fichiers KAR ou WRD.//



===== Installation =====

Cela fait un peu « jeu de piste », mais le mieux est de suivre la [[:midi#synthese_midi_logicielle|page consacrée à la prise en charge du MIDI]] afin d'installer Timidity sur Ubuntu (toutes versions). Des optimisations en terme de sons et de performances y sont par ailleurs proposées.





==== Sous Edgy ====


Si vous avez une carte son avec synthétiseur intégré, la manipulation est très simple : il suffit d'[[:tutoriel:comment_installer_un_paquet| installer le paquet]] **timidity**.

Si vous utilisez XMMS [[:tutoriel:comment_installer_un_paquet| installez]] aussi **xmms-midi**.

Si vous utilisez Audacious, il faut [[:tutoriel:comment_installer_un_paquet| installer le paquet]] **packet audacious-plugins-extra**, puis indiquer le fichier de configuration de timidity : "/etc/timidity/timidity".

Une fois cela fait vous pourrez lire des midi soit directement avec timidity en ligne de commande : 
<code>timidity <nom_fichier> </code>
ou
<code>timidity <dossier></code>
soit en lisant directement des fichiers midi dans XMMS.

==== Sous Gutsy ====

Si vous avez une carte son avec synthétiseur intégré la manipulation est très simple, il faut [[:tutoriel:comment_installer_un_paquet| installer les paquets]]  **timidity** et **timidity-interfaces-extra**

===== Utilisation =====

Comme de nombreux logiciels sous linux, Timidity peut être utilisé soit en ligne de commande, soit //via// une interface graphique.

Applications->Son et vidéo->TiMidity++ MIDI sequencer

Il marche aussi comme plugin d'entrée pour XMMS.

==== Créer un lanceur ====

Le paquet **timidity** que vous avez installé ne crée malheureusement pas (encore) de raccourci dans le menu Applications sauf si vous avez installé le paquet **timidity-interfaces-extra**

Dans ce cas il faut créer un raccourci dans Applications->Son et vidéo->TiMidity++ MIDI sequencer

Pour ce faire, lancer votre éditeur de texte préféré en mode administrateur, (alt+F2, commande « ''gksudo gedit'' », par exemple), ou passez par un terminal en utilisant ''sudo''. Il s'agit de créer le fichier ''/usr/share/applications/timidity.desktop'' et d'y insérer :

<code>
[Desktop Entry]
Encoding=UTF-8
Name=Lecteur MIDI Timidity
Comment=Joue les fichiers audio MIDI
Exec=timidity -ig
Terminal=false
Type=Application
StartupNotify=false
MimeType=audio/midi;
Categories=Application;AudioVideo;
Icon=
#NoDisplay=true
</code>

(Vous aurez noté les paramètres -ig qui lancent l'interface graphique.)

Une fois ce fichier sauvegardé, vous pouvez également définir Timidity comme lecteur par défaut des fichiers midi. Pour ce faire, insérez  :

<code>audio/midi=timidity.desktop</code>

dans le fichier ''/usr/share/applications/defaults.list'' (ou modifier la ligne ''audio/midi='' si elle existe déjà).








===== Timidity en serveur/synthétiseur =====

Il faut lancer timidity de cette manière

<code>
timidity -iA -B2,8 -Os -EFreverb=0&
</code>

avec :

  * timidity - le programme
  * -iA "Launch TiMidity++ as ALSA sequencer client."
  * -B2,8 = buffer (personnellement je préfère utiliser "-B4,8", cela donne de meilleurs résultats !!)
  * -Os = "Output to alsa"
  * -EFreverb=0& "mode" + "Effect" + "Disable MIDI reverb effect control"

\\

Pour un synthé [[:jackd]] (pour [[:rosegarden]] par exemple) :

<code>
timidity -iA -B2,8 -Oj -EFreverb=0
</code>

N'oubliez pas de tuer timidity quand vous l'avez fermé :

<code>
killall timidity
</code>




==== Script ====

Un petit script en bash pour se simplifier la vie :

<code bash>
#!/bin/bash
#script timserver par adam0509

echo "Ce script permet de lancer/arreter facilement timidity en mode serveur"

while [ 1 ]; do

while [ "$nombre" != "0" ] && [ "$nombre" != "1" ] && [ "$nombre" != "2" ] && [ "$nombre" != "3" ]; do

echo -e "\n\n\n==== Liste des processus lancé en rapport avec le midi :"

ps -A | grep midi

echo -ne "\n\n==== Que voulez-vous faire ?"

echo -e "\n0) Ne rien faire (Quitter le programme)"
echo "1) Lancer timidity (serveur) en mode ALSA"
echo "2) Lancer timidity (serveur) en mode ALSA avec sortie JACK"
echo "3) Arréter/Tuer timidity"

read nombre

done

if [ "$nombre" = "0" ]; then
	{
	exit 0
	}
fi

if [ "$nombre" = "1" ]; then
	{
	timidity -iA -B2,8 -Os -EFreverb=0&
	sleep 4
	}
fi
if [ "$nombre" = "2" ]; then
	{
	timidity -iA -B2,8 -Oj -EFreverb=0
	sleep 4
	}
fi
if [ "$nombre" = "3" ]; then
	{
	killall timidity
	}
fi

nombre=4

done
</code>

Recopier le contenu dans un fichier "timserver", rendez-le exécutable, double-cliquez dessus et faites "Lancer dans un terminal". Vous pouvez aussi le copier dans /usr/local/bin  :

<code bash>
chmod u+x timserver ## donner la permission d'exécution
sudo cp timserver /usr/local/bin ## le copier dans le dossier des exécutables
timserver ## lancer le script
</code>


===== Transformation Midi vers Audio =====

Il est egalement possible de transformer vos fichiers midi en fichiers audios. Pour cela, ouvrez un terminal et tapez par exemple :
<code>timidity -Ov fichier.mid</code>
Timidity convertira alors fichier.mid en fichier.ogg.

Vous pouvez également le faire en utilisant les options suivantes :
  * -Ov => OGG Vorbis (.ogg)
  * -Ow => RIFF Wav (.wav)
  * -Ou => Sun Audio (.au)
  * -Oa => AIIF (.aiff)
  * -OF => FLAC (.flac)


Tapez « man timidity » pour plus d'informations.

===== Liens =====

**Site officiel :**

http://timidity.sourceforge.net/

**Timidity sur Wikipédia [en] :**

http://en.wikipedia.org/wiki/TiMidity